#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
    int (*p)[4] = a;    //&a[0]     int [4]
    printf("********************************\n");
    printf("a  :%p\n", a);
    printf("p  :%p\n", p);
    printf("a+1:%p\n", a+1);
    printf("p+1:%p\n", p+1);
    printf("********************************\n");
    printf("*(a+1):%p\n", *(a+1));
    printf("*(p+1):%p\n", *(p+1));
    printf("a[1]  :%p\n", a[1]);
    printf("p[1]  :%p\n", p[1]);
    printf("********************************\n");
    printf("a[1]+1  :%p\n", a[1]+1);
    printf("&a[1][1]:%p\n", &a[1][1]);
    printf("********************************\n");
    printf("*(a[1]+1):%d\n", *(a[1]+1));
    printf("*(p[1]+1):%d\n", *(p[1]+1));
    printf("p[1][1]  :%d\n", p[1][1]);
    printf("a[1][1]  :%d\n", a[1][1]);
    return 0;
}

